package com.thinkTank.oa.dao;

import java.util.List;
import java.util.Map;

import com.thinkTank.oa.base.BaseMapper;
import com.thinkTank.oa.entity.ButtDetails;
import com.thinkTank.oa.entity.Demand;

/**
 * 对接详情dao
 * @author 董力
 * 2018-08-20
 */
public interface DetailsMapper extends BaseMapper<ButtDetails> {

	/**
	 * 新增
	 * @param details
	 */
	public void addDetails(ButtDetails details);
	
	/**
	 * 模糊查询对接详情表
	 * @param details
	 * @return
	 */
	public List<ButtDetails> findMDetailsList(ButtDetails details);
	
	/**
	 * 通过pid查询对接详情
	 * @param id
	 * @return
	 */
	public ButtDetails findDetailsByPid(String pid);
	
	
	/**
	 * 修改
	 * @param details
	 */
	public void updateDetails(ButtDetails details);
	
	
	public  List<ButtDetails>  findButtDetailsByUserId(String userId);
	public List<ButtDetails> findHistoryButtDetails(ButtDetails olderButt);
	public List<Map<Object,Object>> findButtDetailsGoupbyStatus(String userId);
	public List<ButtDetails> findButtDetailsByStatus(String userId,Integer status);
	
	
	/**
	 * 通过专家id模糊查询
	 * @author dongli
	 * @date 2018年8月24日
	 * @param personId
	 * @return
	 */
	public List<ButtDetails> findButtDetailsByPersonId(ButtDetails buttDetails);
	
	/**
	 * 查看客户匹配的需求
	 * xyx
	 * @param customer
	 * @return
	 * 2018年8月24日
	 */
	public List<ButtDetails> findCustomerDemand(String customerId);
	
	/**
	 * 查看客户匹配的项目
	 * xyx
	 * @param customer
	 * @return
	 * 2018年8月24日
	 */
	public List<ButtDetails> findCustomerProject(String customerId);
	
	/**
	 * 通过专家pid查询对接详情
	 * @param id
	 * @return
	 */
	public ButtDetails getDetailsByPersonId(String personId);

	/**
	 * 根据条件查询对接详情
	 * @author pdz
	 * @date 2018年8月30日
	 * @param buttDetails
	 * @return
	 */
    public List<ButtDetails> findButtDetails(ButtDetails buttDetails);
	
	
	/**
	 * 通过客户id查询对接需求
	 * @author xyx
	 * @date 2018年8月24日
	 * @param customerId
	 * @return
	 */
	public List<ButtDetails> findDemandByCustomerId(ButtDetails buttDetails);
	
	
	/**
	 * 通过客户id查询对接项目
	 * @author xyx
	 * @date 2018年8月24日
	 * @param customerId
	 * @return
	 */
	public List<ButtDetails> findProjectByCustomerId(ButtDetails buttDetails);
	
	/**
	 * 通过专家pid和需求pid来查询对接详情
	 * @author dongli
	 * @date 2018年9月27日
	 * @param buttDetails
	 * @return
	 */
	public List<ButtDetails> findDetailsByPersonIdAndDemandId(ButtDetails buttDetails);
	
	
	/**
	 * 通过对接详情需求id集合查询详情表
	 * xyx
	 * @param buttDetails
	 * @return
	 * 2018年9月27日
	 */
	public List<ButtDetails> queryInButtDetails(ButtDetails buttDetails);
	
	/**
	 * 专家详情页面已匹配需求显示前10条数据
	 * @author dongli
	 * @date 2018年9月28日
	 * @param buttDetails
	 * @return
	 */
	public List<ButtDetails> findButtDetailsTop10(ButtDetails buttDetails);
	
	/**
	 * 通过专家pid联合查询需求信息
	 * @author dongli
	 * @date 2018年10月22日
	 * @param personId
	 * @return
	 */
	public List<Demand> queryDemandList(String personId);

	
}
